/*
 * @lc app=leetcode.cn id=14 lang=cpp
 *
 * [14] 最长公共前缀
 */

#include <limits.h>

#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
using namespace std;

// @lc code=start
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        string result = "";         // 保存最长公共前缀
        int n = strs.size();        // 记录字符串的数量

        // 第一层遍历，遍历字符串中元素的下标
        for (int i = 0; i < strs[0].size(); i++) {
            char value = strs[0][i];
            // 第二层遍历，检查其它字符串中的相同下标的元素是否相同
            for (int j = 1; j < n; j++) {
                // 若不存在该下标，或者元素不同，直接返回
                if ((strs[j].size() <= i) || (strs[j].size() > i && strs[j][i] != value)) {
                    return result;
                }
            }
            result.push_back(value);
        }
        
        return result;
    }
};
// @lc code=end

